package top.codedance.iotp.server.net.handle.configuration;

import top.codedance.iotp.common.constent.Command;

import java.util.Arrays;
import java.util.List;

public interface ClientHandlerConfig {
    List<Short> syncCmds = Arrays.asList(new Short[]{
            Command.VIEW_CLIENT_VERSION_RECEIVE,
            Command.SHUTDOWN_RECEIVE,
            Command.GENERICDB_COMMAND_RECEIVE,
            Command.MYSQL_COMMAND_RECEIVE,
            Command.COM_COMMAND_RECEIVE,
            Command.UDP_COMMAND_RECEIVE,
            Command.SYSTEM_COMMAND_RECEIVE,
            Command.OPC_COMMAND_RECEIVE,
            Command.MODBUS_COMMAND_RECEIVE,
            Command.CAN_COMMAND_RECEIVE,
            Command.PROFIBUS_COMMAND_RECEIVE,
            Command.PROFINET_COMMAND_RECEIVE,
            Command.DNP_COMMAND_RECEIVE,
            Command.BACNET_COMMAND_RECEIVE,
            Command.IEC_COMMAND_RECEIVE,
            Command.MTCONNECT_COMMAND_RECEIVE,
            Command.HTTP_COMMAND_RECEIVE,
            Command.PUSH_DATA_COMMAND_RECEIVE,
            Command.MSSQL_COMMAND_RECEIVE,
            Command.ORACLE_COMMAND_RECEIVE,
            Command.CLIENT_PLUGINS_PARAMS_SET_RECEIVE,
            Command.CLIENT_PLUGINS_PARAMS_GET_RECEIVE,
    });

    List<Short> asyncCmds = Arrays.asList(new Short[]{
            Command.ASYNC_BACNET_COMMAND_RECEIVE,
            Command.ASYNC_OPC_COMMAND_RECEIVE,
            Command.ASYNC_COM_COMMAND_RECEIVE,
            Command.ASYNC_SYSTEM_COMMAND_RECEIVE,
            Command.ASYNC_MQTT_COMMAND_RECEIVE,
            Command.ASYNC_PUSH_DATA_COMMAND_RECEIVE,
            Command.ASYNC_UDP_COMMAND_RECEIVE,
    });

    List<Short> consoleCmds = Arrays.asList(new Short[]{
            Command.CONSOLE_MANAGE_COMMAND
    });

    List<Short> healthyCmds = Arrays.asList(new Short[]{
            Command.HEARTEAT_PING,
            Command.HEARTEAT_PONG,
            Command.UPGRADE,
            Command.UPGRADE_RECEIVE,
            Command.DOWNLOAD,
            Command.DOWNLOAD_RECEIVE,
            Command.REGISTER,
            Command.REGISTER_RECEIVE
    });
}
